<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!-- Foreword -->

<HTML>

<HEAD>

<TITLE>Foreword</TITLE>

</HEAD>

<BODY BACKGROUND="spiral.gif" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#990099" ALINK="#FF0000">

<TABLE WIDTH="98%">
<TR><TD WIDTH=60 VALIGN=BOTTOM NOWRAP>
<IMG SRC="transp.gif" ALT="" WIDTH=60 HEIGHT=20>
</TD><TD>

<!-- Ab hier Seitentext: -->

<BIG>
<BR>

<P>
<STRONG><U>Foreword to Version 1.0</U></STRONG>
</P>
<P>
Today microcontrollers are used in a wide range of applications from simple
consumer electronic products to complex avionic components. Thus I was not
very surprised to find an 80C31 on the videotext decoder board, I purchased
some time ago. Since it had a poor user interface and many bugs, I thought
I could do it better and so I began to look for an 8051 cross assembler.<BR>
But in contrast to the huge number of hardware components sold, the number
of people developing microcontroller software seemed to be remarkable small,
and so was the number of development tools on the market.<BR>
There was a very small number of good professional cross assemblers for $250
and up - too expensive for hobby purposes. Aside of useless demos, there were
no restricted starter kits or school versions available.<BR>
I found also a few shareware and public domain assemblers. But either they
were poor and not very reliable, or not very 8051-specific, or they used some
kind of fantasy syntax that was 100 % compatible to itself, but far away from
the Intel standard. I didn't like them all!<BR>
There seems to be a general lack of useful and affordable microcontroller
development software. This is a pity, because their universality, simple
architectures and low prices make microcontrollers so interesting especially
for hobby and education.<BR>
So I decided to write a handy 8051 cross assembler for the PC.
</P>
<P>
And here it is:             <CENTER>ASEM-51 V1.0</CENTER>
</P>
<P>
I hope it will help to discover the wonderful world of microcontrollers.
</P>
<P>
Have fun!
</P>
<P>
<TABLE WIDTH="90%">
<TR><TD ALIGN=RIGHT><BIG>Deisenhofen, July 19, 1994</BIG></TD></TR>
<TR><TD ALIGN=RIGHT><BIG>&nbsp;</BIG></TD></TR>
<TR><TD ALIGN=RIGHT><BIG>W.W. Heinz</BIG></TD></TR>
</TABLE>
</P>

<HR>

<P>
<STRONG><U><A NAME="FOREWORD12">Foreword to Version 1.2</A></U></STRONG>
</P>
<P>
More than one year has passed, since I had released <NOBR>ASEM-51 V1.1</NOBR>
in October 1994. Although I didn't spend all the time on <NOBR>ASEM-51</NOBR>,
V1.2 comes with several extensions, bug fixes, and numerous functional or
internal improvements!<BR>
Highlights of the new version are a nearly perfectly featured list
file with cross-reference and some new printing options, a bootstrap
program for <NOBR>MCS-51</NOBR> evaluation boards, and plenty of new *.MCU files.
For detailed information see the <NOBR>ASEM-51 V1.2</NOBR> Release Notes.<BR>
</P>
<P>
What I have learned through the last two years is that freeware is
not free, neither for the author nor for the users.<BR>
<NOBR>ASEM-51</NOBR> could not be made with nothing but numberless free hours,
spent on pure software development. I also had to purchase a PASCAL
development system, lots of microcontroller literature, and an 80C535
evaluation board.<BR>
The distribution of freeware seems to be a bigger problem than its
development. First of all, one has to buy a modem. After that, it
costs a lot of time, fees, trouble, and &quot;interesting&quot; discussions
with the particular sysops, until the stuff is posted (or not) on
several BBS and ftp sites.<BR>
To publish a program on shareware CD-ROMs, one has only to find out,
which are the most suitable. For this, it is best to buy a dozen or
two (and a CD-ROM drive), and to send the software to the publishers
of those that seem to be the most popular.<BR>
The interested users finally have to purchase modems or CD-ROM drives,
and pay the same fees, or buy the same CD-ROMs, to get the &quot;freeware&quot;
again from these public sources.<BR>
After all, it may be cheaper, faster, and more convenient, to simply buy
a professional software solution (if any) in the PC shop at the corner.
But it's not half the fun!<BR>
</P>
<P>
<NOBR>ASEM-51 V1.1</NOBR> had been distributed (and mirrored) to more than
60 ftp sites all over the world, uploaded to so many BBS, and published on
at least two shareware CD-ROMs.<BR>
But I only received mails from 9 users, a local cockroach, and an
international monster. The latter two asked me for permission, to
sell <NOBR>ASEM-51</NOBR> for (their) profit, and failed miserably.<BR>
Most of the user mails started with &quot;I have copied your assembler
from an ftp site, which I don't remember. It is looking fine on the
first glance! By the way, have you got a data sheet of the 80Cxyz?&quot;,
or something like that.<BR>
During all the time, I have received one single error report only.
Since it had been reported by phone, I couldn't reproduce it.
Nevertheless two serious bugs have been fixed since <NOBR>version 1.1</NOBR>,
but I have found them by myself in November 1995 both.<BR>
Sure <NOBR>ASEM-51</NOBR> is no mainstream software, but to be honest,
I am a little disappointed of the poor user feedback!<BR>
</P>
<P>
Finally, I should thank the persons, who helped me to release <NOBR>ASEM-51</NOBR>:
Andreas Kies has tested all previous beta versions of the assembler. He
has distributed the first releases, and maintained a free <NOBR>ASEM-51</NOBR> support
account right from the beginning.<BR>
Gabriele Novak has checked the orthography of all the documentation files.
Werner Allinger has tested the latest beta version and the bootstrap program.
Last but not least, I want to thank all interested users for their comments
and suggestions.
</P>
<P>
<TABLE WIDTH="90%">
<TR><TD ALIGN=RIGHT><BIG>Deisenhofen, January 22, 1996</BIG></TD></TR>
<TR><TD ALIGN=RIGHT><BIG>&nbsp;</BIG></TD></TR>
<TR><TD ALIGN=RIGHT><BIG>W.W. Heinz</BIG></TD></TR>
</TABLE>
</P>

<HR>

<P>
<STRONG><U><A NAME="FOREWORD13">Foreword to Version 1.3</A></U></STRONG>
</P>
<P>
Six years have passed since I had released version <NOBR>1.2</NOBR>.<BR>
I'm almost sure that most of my users thought that this was the last one!<BR>
It seems that I had always some spare time to support, maintain, change,
extend, improve and port <NOBR>ASEM-51</NOBR> over and over for many years,
but never to publish an official new release.<BR>
But now, after six months of beta-testing, the time has come to unveil
<NOBR>ASEM-51</NOBR> <NOBR>Version 1.3</NOBR> (Final Release).
The most important new features are
</P>
<P>
<UL TYPE=DISC>
<LI>new host platforms: &nbsp; Win32 and Linux (386)</LI>
<LI>macro processing</LI>
<LI>dramatically improved conditional assembly</LI>
<LI>output in absolute OMF-51 format (with debug information)</LI>
<LI>37 new MCU files</LI>
<LI>documentation in both ASCII and HTML format</LI>
</UL>
</P>
<P>
For detailed information on the numerous small extensions, improvements,
and bug fixes, see the
<NOBR><A HREF="release.htm">ASEM-51 V1.3 Release Notes</A></NOBR>.<BR>
Since fall 2001, <NOBR>ASEM-51</NOBR> has an official home on the Internet,
the <NOBR>ASEM-51</NOBR> support website: &nbsp;
<A HREF="http://plit.de/asem-51/">http://plit.de/asem-51/</A>
</P>
<P>
<STRONG>Credits:</STRONG><BR>
Andreas Kies has tested all beta versions of the assembler. Without
his Linux-knowhow, the Linux port would have been a very hard job.<BR>
Werner Allinger has tested the latest beta version, and has provided
free webspace for the ASEM-51 website right from the beginning.<BR>
Axel Kielhorn has written the file DS5000.MCU.<BR>
Anders Sandstr&ouml;m has sent me 87LPC762.MCU and 87LPC768.MCU.<BR>
Michael R. has contributed 80C32X2.MCU.<BR>
I also want to thank all the other users for their bug reports,
contributions, comments and suggestions.
</P>
<P>
<TABLE WIDTH="90%">
<TR><TD ALIGN=RIGHT><BIG>Bayreuth, December 31, 2002</BIG></TD></TR>
<TR><TD ALIGN=RIGHT><BIG>&nbsp;</BIG></TD></TR>
<TR><TD ALIGN=RIGHT><BIG>W.W. Heinz</BIG></TD></TR>
</TABLE>
</P>

</BIG>

<!-- Seitentext Ende -->

<P>
<BR>
<BR>
<CENTER>
<TABLE WIDTH="70%">
<TR><TH><A HREF="contents.htm"><IMG SRC="home.gif" ALT="[contents]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="contents.htm"><IMG SRC="up.gif" ALT="[up]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="contents.htm"><IMG SRC="back.gif" ALT="[back]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="intro.htm"><IMG SRC="next.gif" ALT="[next]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
</TR>
</TABLE>
</CENTER>
</P>

</TD></TR>
</TABLE>

</BODY>

</HTML>
